/**
 * 
 */
package sg.edu.nus.iss.team8s.vmcs.builder;

import java.awt.Checkbox;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Label;
import java.awt.Panel;

import sg.edu.nus.iss.team8s.vmcs.beans.StoreItem;
import sg.edu.nus.iss.team8s.vmcs.beans.StoreObject;
import sg.edu.nus.iss.team8s.vmcs.cache.CashStore;
import sg.edu.nus.iss.team8s.vmcs.cache.DrinksStore;
import sg.edu.nus.iss.team8s.vmcs.commons.Constant;

/**
 * @author Wang Shi Jie
 *
 */
public class MachineryPanel extends Panel {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Label fiveCentCount;
	private Label tenCentCount;
	private Label twentyCentCount;
	private Label fiftyCentCount;
	private Label oneDollarCount;
	
	private Label[] brands;
	private Label[] quantities;
	
	private Checkbox doorStatus;
	
	private Panel titlePanel;
	private Panel inputPanel;
	private Panel displayPanel;
	private Panel statusPanel;
	
	public void drinksStoreChange(){
		DrinksStore drinksStore = DrinksStore.getInstance();
		for(int id=0; id<drinksStore.getStoreSize();id++){
			StoreItem item = drinksStore.getItem(id);
			//refresh the drinks part of the panel with each StoreItem returned
			StoreObject obj = item.getContent();
		}
	}
	
	public void cashStoreChange(){
		CashStore cashStore = CashStore.getInstance();
		for(int id=0; id<cashStore.getStoreSize();id++){
			cashStore.getItem(id);
			//refresh the cash part of the panel with each StoreItem returned
		}
	}
	
	public MachineryPanel(){
		FlowLayout layout = new FlowLayout();
		layout.setVgap(0);
		this.setLayout(layout);
		this.setPreferredSize(new Dimension(Constant.PANEL_WIDTH, 600));
	}
	/**
	 * @return the fiveCentCount
	 */
	public Label getFiveCentCount() {
		return fiveCentCount;
	}
	/**
	 * @param fiveCentCount the fiveCentCount to set
	 */
	public void setFiveCentCount(Label fiveCentCount) {
		this.fiveCentCount = fiveCentCount;
	}
	/**
	 * @return the tenCentCount
	 */
	public Label getTenCentCount() {
		return tenCentCount;
	}
	/**
	 * @param tenCentCount the tenCentCount to set
	 */
	public void setTenCentCount(Label tenCentCount) {
		this.tenCentCount = tenCentCount;
	}
	/**
	 * @return the twentyCentCount
	 */
	public Label getTwentyCentCount() {
		return twentyCentCount;
	}
	/**
	 * @param twentyCentCount the twentyCentCount to set
	 */
	public void setTwentyCentCount(Label twentyCentCount) {
		this.twentyCentCount = twentyCentCount;
	}
	/**
	 * @return the fiftyCentCount
	 */
	public Label getFiftyCentCount() {
		return fiftyCentCount;
	}
	/**
	 * @param fiftyCentCount the fiftyCentCount to set
	 */
	public void setFiftyCentCount(Label fiftyCentCount) {
		this.fiftyCentCount = fiftyCentCount;
	}
	/**
	 * @return the oneDollarCount
	 */
	public Label getOneDollarCount() {
		return oneDollarCount;
	}
	/**
	 * @param oneDollarCount the oneDollarCount to set
	 */
	public void setOneDollarCount(Label oneDollarCount) {
		this.oneDollarCount = oneDollarCount;
	}
	/**
	 * @return the brands
	 */
	public Label[] getBrands() {
		return brands;
	}
	/**
	 * @param brands the brands to set
	 */
	public void setBrands(Label[] brands) {
		this.brands = brands;
	}
	/**
	 * @return the quantities
	 */
	public Label[] getQuantities() {
		return quantities;
	}
	/**
	 * @param quantities the quantities to set
	 */
	public void setQuantities(Label[] quantities) {
		this.quantities = quantities;
	}
	/**
	 * @return the doorStatus
	 */
	public Checkbox getDoorStatus() {
		return doorStatus;
	}
	/**
	 * @param doorStatus the doorStatus to set
	 */
	public void setDoorStatus(Checkbox doorStatus) {
		this.doorStatus = doorStatus;
	}
	/**
	 * @return the titlePanel
	 */
	public Panel getTitlePanel() {
		return titlePanel;
	}
	/**
	 * @param titlePanel the titlePanel to set
	 */
	public void setTitlePanel(Panel titlePanel) {
		this.titlePanel = titlePanel;
	}
	/**
	 * @return the inputPanel
	 */
	public Panel getInputPanel() {
		return inputPanel;
	}
	/**
	 * @param inputPanel the inputPanel to set
	 */
	public void setInputPanel(Panel inputPanel) {
		this.inputPanel = inputPanel;
	}
	/**
	 * @return the displayPanel
	 */
	public Panel getDisplayPanel() {
		return displayPanel;
	}
	/**
	 * @param displayPanel the displayPanel to set
	 */
	public void setDisplayPanel(Panel displayPanel) {
		this.displayPanel = displayPanel;
	}
	/**
	 * @return the statusPanel
	 */
	public Panel getStatusPanel() {
		return statusPanel;
	}
	/**
	 * @param statusPanel the statusPanel to set
	 */
	public void setStatusPanel(Panel statusPanel) {
		this.statusPanel = statusPanel;
	}
}
